<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // setTimeout(() => {
        //     console.log("上午吃");
        //     setTimeout(() => {
        //         console.log("中午吃");
        //         setTimeout(() => {
        //             console.log("下午吃");
        //         }, 1000);
        //     }, 1000);
        // }, 1000);


        /* 最基本的promise处理回调地狱 */
        // const p1 = new Promise((resolve,reject)=>{
        //     setTimeout(() => {
        //         resolve("上午吃")
        //     }, 1000);
        // })
        // //处理p1返回的Promise
        // p1.then((res)=>{
        //     console.log(res);
        //     /* 中午的promise */
        //     const p2 = new Promise((resolve,reject)=>{
        //         setTimeout(() => {
        //             resolve("中午吃")
        //         }, 1000);
        //     })
        //      //处理p2返回的promsie
        //     p2.then((res)=>{
        //         console.log(res);
        //         const p3 = new Promise((resolve,reject)=>{
        //             setTimeout(() => {
        //                 resolve("下午吃")
        //             }, 1000);
        //         })
        //          //处理p3返回的promsie
        //         p3.then((res)=>{
        //             console.log(res);
        //         })
        //     })
        // })

        new Promise((resolve, reject) => {
            setTimeout(() => {
                resolve("上午吃")
            }, 1000);
        })
        //处理Pomise的返回结果
        .then((res) => {
            console.log(res);
            //return一个新的Promise
            return new Promise((resolve,reject)=>{
                setTimeout(() => {
                    resolve("中午吃")
                }, 1000);
            })
        })
        //处理上面那个返回的promise的结果
        .then((res)=>{
            console.log(res);
            //返回一个新的promise
            return new Promise((resolve,reject)=>{
                setTimeout(() => {
                    resolve("下午吃")
                }, 1000);
            })
        })
        //处理上面那个Promise的返回的结果
        .then((res)=>{
            console.log(res);
        })

    </script>
</body>

</html>